package com.shujia.day06.homework;

import java.util.Scanner;

public class H2FindWord {
    public static void main(String[] args) {
        /*
        1.数组查找操作：定义一个长度为10 的一维字符串数组，在每一个元素存放一个单词；
            然后运行时从命令行输入一个单词，程序判断数组是否包含有这个单词，
            包含  这个单词就打印出“Yes”，不包含就打印出“No”。
         */

        String[] strArr = {"hello1","hello2","hello3","hello4","hello5","hello6"};


        String str1 = "hello";
        String str2 = "hello";

        // 当定义两个 "hello"时，由于String是一个引用类型，所以在栈中str1和str2保存的堆中的内存地址
        //     同时由于Java在编译时，发现有两个相同的变量值，那么会对其进行优化，将hello设置成同一个内存地址赋予给 str1和str2
        //     所以在栈中 使用 == 实际上是对 内存地址进行比较了
//        if (str1 == str2) {
//            System.out.println("str1 == str2");
//        }else{
//            System.out.println("str1 ！= str2");
//        }

        // 对于 == 一般用于基本数据类型的比较，而对于引用类型来说，需要比较其具体的内容（对象）
        //    其中 String　字符串有一个方法　叫　.equal 可以用于比较其中的值是否相等



        Scanner scanner = new Scanner(System.in);
        String word = scanner.next();

        boolean flag = true;

        for (int i = 0; i < strArr.length; i++) {
            // == 比较时是在栈中对具体变量中保存的数据进行做比较
            if(strArr[i].equals(word)){
                System.out.println("Yes 下标为："+i);
                flag = false;
            }
        }

        if(flag){
            System.out.println("No 没有匹配到");
        }


    }
}
